#ifndef PARTICLES_H_INCLUDED
#define PARTICLES_H_INCLUDED

/*
**  This program is free software: you can redistribute it and/or modify
**  it under the terms of the GNU General Public License as published by
**  the Free Software Foundation, either version 3 of the License, or
**  (at your option) any later version.
**
**  This program is distributed in the hope that it will be useful,
**  but WITHOUT ANY WARRANTY; without even the implied warranty of
**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**  GNU General Public License for more details.
**
**  You should have received a copy of the GNU General Public License
**
************  File Info  ********************************
**
**  Author: CMlr<zxyzxy12321@gmail.com>
**  Date:
**  Project: MyPowder
**  Description:
**
**
*/

/* basic operations */
void init_part(part_t* part, int x, int y, int type);
void create_part(int x, int y, int type);
void move_part(int i, int x, int y);
void delete_part(int i);
int get_part(int x, int y);

/* enviroment updating */
void gravity_falldown(int i);
void random_move(int i);
void decrease_life(int i);

void clean_dead(int i);
void update_particle(int i);
void draw_particle(int i);

/*  */
void init_pmap();
void init_parts();
void global_update();
void draw_all();

/* default functions */
int default_update(int i);
void default_draw(int i);

#endif // PARTICLES_H_INCLUDED
